Previous: RCS and SCCS, Up: Customizing VC [Contents][Index]
You can specify additional command line options to pass to all
CVS operations in the variable
vc-cvs-global-switches. These switches are inserted
immediately after the cvs command, before the name
of the operation to invoke.
When using a CVS repository on a remote machine, VC can try
keeping network interactions to a minimum. This is controlled by
the variable vc-cvs-stay-local. There is another
variable, vc-stay-local, which enables the feature
also for other back ends that support it, including CVS. In the
following, we will talk only about
vc-cvs-stay-local, but everything applies to
vc-stay-local as well.
If vc-cvs-stay-local is only-file
(the default), VC determines the version control status of each
file using only the entry in the local CVS subdirectory and the
information returned by previous CVS commands. As a consequence,
if you have modified a file and somebody else has checked in
other changes, you will not be notified of the conflict until you
try to commit.
If you change vc-cvs-stay-local to
nil, VC queries the remote repository
before it decides what to do in
vc-next-action (C-x v v), just as it does
for local repositories.
You can also set vc-cvs-stay-local to a regular
expression that is matched against the repository host name; VC
then stays local only for repositories from hosts that match the
pattern.
When using a remote repository, Emacs normally makes automatic version backups of the original versions of each edited file. These local backups are made whenever you save the first changes to a file, and they are removed after you commit your changes to the repository. (Note that these are not the same as ordinary Emacs backup files; see Backup.) Commands like C-x v = and C-x v u make use of automatic version backups, if possible, to avoid having to access the network.
Setting vc-cvs-stay-local to nil
disables the making of automatic version backups.
Automatic version backups have names of the form
file.~version.~.
This is similar to the name that C-x v ~ saves old
versions to (see Old
Revisions), except for the additional dot
(‘.’) after the version. The relevant VC
commands can use both kinds of version backups. The main
difference is that the manual version backups made by C-x v
~ are not deleted automatically when you
commit.
CVS does not use locking by default, but there are ways to
enable locking-like behavior using its CVSREAD or
watch feature; see the CVS documentation for details. If
that case, you can use C-x v v in Emacs to toggle
locking, as you would for a locking-based version control system
(see VC With A
Locking VCS).
Previous: RCS and SCCS, Up: Customizing VC [Contents][Index]